﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Developer.LanguageProvider;

namespace Developer.LanguageServices.NativeX
{
    public partial class NativeXTokenizer : CodeTokenizer
    {
        public const int IdToken = 0;
        public const int StringToken = 1;
        public const int NumberToken = 2;
        public const int OperatorToken = 3;
        public const int CommentToken = 4;
        public const int AttributeToken = 5;
        public const int ColorizerCustomTokenStart = 6;

        private const int StartStateId = 0;
        private const int IdStateId = 1;
        private const int NativeIdStateId = 2;
        private const int NativeIdStartStateId = 3;
        private const int NativeIdInStateId = 4;
        private const int NativeIdEscapingStateId = 5;
        private const int CharInStateId = 6;
        private const int CharEscapingStateId = 7;
        private const int StringStateId = 8;
        private const int StringInStateId = 9;
        private const int StringEscapingStateId = 10;
        private const int LIdStateId = 11;
        private const int IntegerStateId = 12;
        private const int FloatStateId = 13;
        private const int DoubleStateId = 14;
        private const int TypedIntegerStateId = 15;
        private const int SizedIntegerStateId = 16;
        private const int Sized16IntegerStateId = 17;
        private const int Sized32IntegerStateId = 18;
        private const int Sized64IntegerStateId = 19;
        private const int MultipleLineCommentInStateId = 20;
        private const int Op_DividStateId = 21;
        private const int SingleLineCommentStateId = 22;
        private const int MultipleLineCommentWaitingStateId = 23;
        private const int MultipleLineCommentStateId = 24;
        private const int Op_SingleStateId = 25;
        private const int Op_MinusStateId = 26;
        private const int Op_AddStateId = 27;
        private const int Op_DoubleStateId = 28;
        private const int Op_NotStateId = 29;
        private const int Op_MultiplyStateId = 30;
        private const int Op_ModStateId = 31;
        private const int Op_LtStateId = 32;
        private const int Op_GtStateId = 33;
        private const int Op_EqStateId = 34;
        private const int Op_BitAndStateId = 35;
        private const int Op_Double2StateId = 36;
        private const int Op_OrStateId = 37;
        private const int Op_XorStateId = 38;
        private const int AttributeStateId = 39;

        protected override void Inject(ref CodeToken token, int finalState)
        {
            switch (finalState)
            {
                case IdStateId:
                    // You should write your own InjectId implementation.
                    InjectId(ref token);
                    break;
            }
        }

        public NativeXTokenizer()
        {
            charset = new int[65536];
            transitions = new int[40, 35];
            finalStateTokenIds = new int[40];

            for (int i = 0; i < 10; i++)
                charset[i] = 0;
            for (int i = 10; i < 11; i++)
                charset[i] = 1;
            for (int i = 11; i < 33; i++)
                charset[i] = 0;
            for (int i = 33; i < 34; i++)
                charset[i] = 2;
            for (int i = 34; i < 35; i++)
                charset[i] = 3;
            for (int i = 35; i < 36; i++)
                charset[i] = 4;
            for (int i = 36; i < 37; i++)
                charset[i] = 0;
            for (int i = 37; i < 38; i++)
                charset[i] = 5;
            for (int i = 38; i < 39; i++)
                charset[i] = 6;
            for (int i = 39; i < 40; i++)
                charset[i] = 7;
            for (int i = 40; i < 42; i++)
                charset[i] = 8;
            for (int i = 42; i < 43; i++)
                charset[i] = 9;
            for (int i = 43; i < 44; i++)
                charset[i] = 10;
            for (int i = 44; i < 45; i++)
                charset[i] = 8;
            for (int i = 45; i < 46; i++)
                charset[i] = 11;
            for (int i = 46; i < 47; i++)
                charset[i] = 12;
            for (int i = 47; i < 48; i++)
                charset[i] = 13;
            for (int i = 48; i < 49; i++)
                charset[i] = 14;
            for (int i = 49; i < 50; i++)
                charset[i] = 15;
            for (int i = 50; i < 51; i++)
                charset[i] = 16;
            for (int i = 51; i < 52; i++)
                charset[i] = 17;
            for (int i = 52; i < 53; i++)
                charset[i] = 18;
            for (int i = 53; i < 54; i++)
                charset[i] = 14;
            for (int i = 54; i < 55; i++)
                charset[i] = 19;
            for (int i = 55; i < 56; i++)
                charset[i] = 14;
            for (int i = 56; i < 57; i++)
                charset[i] = 20;
            for (int i = 57; i < 58; i++)
                charset[i] = 14;
            for (int i = 58; i < 60; i++)
                charset[i] = 8;
            for (int i = 60; i < 61; i++)
                charset[i] = 21;
            for (int i = 61; i < 62; i++)
                charset[i] = 22;
            for (int i = 62; i < 63; i++)
                charset[i] = 23;
            for (int i = 63; i < 64; i++)
                charset[i] = 0;
            for (int i = 64; i < 65; i++)
                charset[i] = 24;
            for (int i = 65; i < 70; i++)
                charset[i] = 25;
            for (int i = 70; i < 71; i++)
                charset[i] = 26;
            for (int i = 71; i < 76; i++)
                charset[i] = 25;
            for (int i = 76; i < 77; i++)
                charset[i] = 27;
            for (int i = 77; i < 91; i++)
                charset[i] = 25;
            for (int i = 91; i < 92; i++)
                charset[i] = 8;
            for (int i = 92; i < 93; i++)
                charset[i] = 28;
            for (int i = 93; i < 94; i++)
                charset[i] = 8;
            for (int i = 94; i < 95; i++)
                charset[i] = 29;
            for (int i = 95; i < 96; i++)
                charset[i] = 25;
            for (int i = 96; i < 97; i++)
                charset[i] = 0;
            for (int i = 97; i < 102; i++)
                charset[i] = 25;
            for (int i = 102; i < 103; i++)
                charset[i] = 30;
            for (int i = 103; i < 115; i++)
                charset[i] = 25;
            for (int i = 115; i < 116; i++)
                charset[i] = 31;
            for (int i = 116; i < 117; i++)
                charset[i] = 25;
            for (int i = 117; i < 118; i++)
                charset[i] = 32;
            for (int i = 118; i < 123; i++)
                charset[i] = 25;
            for (int i = 123; i < 124; i++)
                charset[i] = 8;
            for (int i = 124; i < 125; i++)
                charset[i] = 33;
            for (int i = 125; i < 127; i++)
                charset[i] = 8;
            for (int i = 127; i < 65536; i++)
                charset[i] = 0;

            finalStateTokenIds[0] = -1;
            finalStateTokenIds[1] = 0;
            finalStateTokenIds[2] = 0;
            finalStateTokenIds[3] = -1;
            finalStateTokenIds[4] = -1;
            finalStateTokenIds[5] = -1;
            finalStateTokenIds[6] = -1;
            finalStateTokenIds[7] = -1;
            finalStateTokenIds[8] = 1;
            finalStateTokenIds[9] = -1;
            finalStateTokenIds[10] = -1;
            finalStateTokenIds[11] = 0;
            finalStateTokenIds[12] = 2;
            finalStateTokenIds[13] = 2;
            finalStateTokenIds[14] = 2;
            finalStateTokenIds[15] = 2;
            finalStateTokenIds[16] = 2;
            finalStateTokenIds[17] = -1;
            finalStateTokenIds[18] = -1;
            finalStateTokenIds[19] = -1;
            finalStateTokenIds[20] = -1;
            finalStateTokenIds[21] = 3;
            finalStateTokenIds[22] = 4;
            finalStateTokenIds[23] = -1;
            finalStateTokenIds[24] = 4;
            finalStateTokenIds[25] = 3;
            finalStateTokenIds[26] = 3;
            finalStateTokenIds[27] = 3;
            finalStateTokenIds[28] = 3;
            finalStateTokenIds[29] = 3;
            finalStateTokenIds[30] = 3;
            finalStateTokenIds[31] = 3;
            finalStateTokenIds[32] = 3;
            finalStateTokenIds[33] = 3;
            finalStateTokenIds[34] = 3;
            finalStateTokenIds[35] = 3;
            finalStateTokenIds[36] = 3;
            finalStateTokenIds[37] = 3;
            finalStateTokenIds[38] = 3;
            finalStateTokenIds[39] = 5;

            transitions[0, 0] = -1;
            transitions[0, 1] = -1;
            transitions[0, 2] = 29;
            transitions[0, 3] = 9;
            transitions[0, 4] = 39;
            transitions[0, 5] = 31;
            transitions[0, 6] = 35;
            transitions[0, 7] = 6;
            transitions[0, 8] = 25;
            transitions[0, 9] = 30;
            transitions[0, 10] = 27;
            transitions[0, 11] = 26;
            transitions[0, 12] = 25;
            transitions[0, 13] = 21;
            transitions[0, 14] = 12;
            transitions[0, 15] = 12;
            transitions[0, 16] = 12;
            transitions[0, 17] = 12;
            transitions[0, 18] = 12;
            transitions[0, 19] = 12;
            transitions[0, 20] = 12;
            transitions[0, 21] = 32;
            transitions[0, 22] = 34;
            transitions[0, 23] = 33;
            transitions[0, 24] = 3;
            transitions[0, 25] = 1;
            transitions[0, 26] = 1;
            transitions[0, 27] = 11;
            transitions[0, 28] = -1;
            transitions[0, 29] = 38;
            transitions[0, 30] = 1;
            transitions[0, 31] = 1;
            transitions[0, 32] = 1;
            transitions[0, 33] = 37;
            transitions[0, 34] = -1;
            transitions[1, 0] = -1;
            transitions[1, 1] = -1;
            transitions[1, 2] = -1;
            transitions[1, 3] = -1;
            transitions[1, 4] = -1;
            transitions[1, 5] = -1;
            transitions[1, 6] = -1;
            transitions[1, 7] = -1;
            transitions[1, 8] = -1;
            transitions[1, 9] = -1;
            transitions[1, 10] = -1;
            transitions[1, 11] = -1;
            transitions[1, 12] = -1;
            transitions[1, 13] = -1;
            transitions[1, 14] = 1;
            transitions[1, 15] = 1;
            transitions[1, 16] = 1;
            transitions[1, 17] = 1;
            transitions[1, 18] = 1;
            transitions[1, 19] = 1;
            transitions[1, 20] = 1;
            transitions[1, 21] = -1;
            transitions[1, 22] = -1;
            transitions[1, 23] = -1;
            transitions[1, 24] = -1;
            transitions[1, 25] = 1;
            transitions[1, 26] = 1;
            transitions[1, 27] = 1;
            transitions[1, 28] = -1;
            transitions[1, 29] = -1;
            transitions[1, 30] = 1;
            transitions[1, 31] = 1;
            transitions[1, 32] = 1;
            transitions[1, 33] = -1;
            transitions[1, 34] = -1;
            transitions[2, 0] = -1;
            transitions[2, 1] = -1;
            transitions[2, 2] = -1;
            transitions[2, 3] = -1;
            transitions[2, 4] = -1;
            transitions[2, 5] = -1;
            transitions[2, 6] = -1;
            transitions[2, 7] = -1;
            transitions[2, 8] = -1;
            transitions[2, 9] = -1;
            transitions[2, 10] = -1;
            transitions[2, 11] = -1;
            transitions[2, 12] = -1;
            transitions[2, 13] = -1;
            transitions[2, 14] = -1;
            transitions[2, 15] = -1;
            transitions[2, 16] = -1;
            transitions[2, 17] = -1;
            transitions[2, 18] = -1;
            transitions[2, 19] = -1;
            transitions[2, 20] = -1;
            transitions[2, 21] = -1;
            transitions[2, 22] = -1;
            transitions[2, 23] = -1;
            transitions[2, 24] = -1;
            transitions[2, 25] = -1;
            transitions[2, 26] = -1;
            transitions[2, 27] = -1;
            transitions[2, 28] = -1;
            transitions[2, 29] = -1;
            transitions[2, 30] = -1;
            transitions[2, 31] = -1;
            transitions[2, 32] = -1;
            transitions[2, 33] = -1;
            transitions[2, 34] = -1;
            transitions[3, 0] = -1;
            transitions[3, 1] = -1;
            transitions[3, 2] = -1;
            transitions[3, 3] = 4;
            transitions[3, 4] = -1;
            transitions[3, 5] = -1;
            transitions[3, 6] = -1;
            transitions[3, 7] = -1;
            transitions[3, 8] = -1;
            transitions[3, 9] = -1;
            transitions[3, 10] = -1;
            transitions[3, 11] = -1;
            transitions[3, 12] = -1;
            transitions[3, 13] = -1;
            transitions[3, 14] = -1;
            transitions[3, 15] = -1;
            transitions[3, 16] = -1;
            transitions[3, 17] = -1;
            transitions[3, 18] = -1;
            transitions[3, 19] = -1;
            transitions[3, 20] = -1;
            transitions[3, 21] = -1;
            transitions[3, 22] = -1;
            transitions[3, 23] = -1;
            transitions[3, 24] = -1;
            transitions[3, 25] = 1;
            transitions[3, 26] = 1;
            transitions[3, 27] = 1;
            transitions[3, 28] = -1;
            transitions[3, 29] = -1;
            transitions[3, 30] = 1;
            transitions[3, 31] = 1;
            transitions[3, 32] = 1;
            transitions[3, 33] = -1;
            transitions[3, 34] = -1;
            transitions[4, 0] = 4;
            transitions[4, 1] = 4;
            transitions[4, 2] = 4;
            transitions[4, 3] = 2;
            transitions[4, 4] = 4;
            transitions[4, 5] = 4;
            transitions[4, 6] = 4;
            transitions[4, 7] = 4;
            transitions[4, 8] = 4;
            transitions[4, 9] = 4;
            transitions[4, 10] = 4;
            transitions[4, 11] = 4;
            transitions[4, 12] = 4;
            transitions[4, 13] = 4;
            transitions[4, 14] = 4;
            transitions[4, 15] = 4;
            transitions[4, 16] = 4;
            transitions[4, 17] = 4;
            transitions[4, 18] = 4;
            transitions[4, 19] = 4;
            transitions[4, 20] = 4;
            transitions[4, 21] = 4;
            transitions[4, 22] = 4;
            transitions[4, 23] = 4;
            transitions[4, 24] = 4;
            transitions[4, 25] = 4;
            transitions[4, 26] = 4;
            transitions[4, 27] = 4;
            transitions[4, 28] = 5;
            transitions[4, 29] = 4;
            transitions[4, 30] = 4;
            transitions[4, 31] = 4;
            transitions[4, 32] = 4;
            transitions[4, 33] = 4;
            transitions[4, 34] = -1;
            transitions[5, 0] = 4;
            transitions[5, 1] = 4;
            transitions[5, 2] = 4;
            transitions[5, 3] = 4;
            transitions[5, 4] = 4;
            transitions[5, 5] = 4;
            transitions[5, 6] = 4;
            transitions[5, 7] = 4;
            transitions[5, 8] = 4;
            transitions[5, 9] = 4;
            transitions[5, 10] = 4;
            transitions[5, 11] = 4;
            transitions[5, 12] = 4;
            transitions[5, 13] = 4;
            transitions[5, 14] = 4;
            transitions[5, 15] = 4;
            transitions[5, 16] = 4;
            transitions[5, 17] = 4;
            transitions[5, 18] = 4;
            transitions[5, 19] = 4;
            transitions[5, 20] = 4;
            transitions[5, 21] = 4;
            transitions[5, 22] = 4;
            transitions[5, 23] = 4;
            transitions[5, 24] = 4;
            transitions[5, 25] = 4;
            transitions[5, 26] = 4;
            transitions[5, 27] = 4;
            transitions[5, 28] = 4;
            transitions[5, 29] = 4;
            transitions[5, 30] = 4;
            transitions[5, 31] = 4;
            transitions[5, 32] = 4;
            transitions[5, 33] = 4;
            transitions[5, 34] = -1;
            transitions[6, 0] = 6;
            transitions[6, 1] = 6;
            transitions[6, 2] = 6;
            transitions[6, 3] = 6;
            transitions[6, 4] = 6;
            transitions[6, 5] = 6;
            transitions[6, 6] = 6;
            transitions[6, 7] = 8;
            transitions[6, 8] = 6;
            transitions[6, 9] = 6;
            transitions[6, 10] = 6;
            transitions[6, 11] = 6;
            transitions[6, 12] = 6;
            transitions[6, 13] = 6;
            transitions[6, 14] = 6;
            transitions[6, 15] = 6;
            transitions[6, 16] = 6;
            transitions[6, 17] = 6;
            transitions[6, 18] = 6;
            transitions[6, 19] = 6;
            transitions[6, 20] = 6;
            transitions[6, 21] = 6;
            transitions[6, 22] = 6;
            transitions[6, 23] = 6;
            transitions[6, 24] = 6;
            transitions[6, 25] = 6;
            transitions[6, 26] = 6;
            transitions[6, 27] = 6;
            transitions[6, 28] = 7;
            transitions[6, 29] = 6;
            transitions[6, 30] = 6;
            transitions[6, 31] = 6;
            transitions[6, 32] = 6;
            transitions[6, 33] = 6;
            transitions[6, 34] = -1;
            transitions[7, 0] = 6;
            transitions[7, 1] = 6;
            transitions[7, 2] = 6;
            transitions[7, 3] = 6;
            transitions[7, 4] = 6;
            transitions[7, 5] = 6;
            transitions[7, 6] = 6;
            transitions[7, 7] = 6;
            transitions[7, 8] = 6;
            transitions[7, 9] = 6;
            transitions[7, 10] = 6;
            transitions[7, 11] = 6;
            transitions[7, 12] = 6;
            transitions[7, 13] = 6;
            transitions[7, 14] = 6;
            transitions[7, 15] = 6;
            transitions[7, 16] = 6;
            transitions[7, 17] = 6;
            transitions[7, 18] = 6;
            transitions[7, 19] = 6;
            transitions[7, 20] = 6;
            transitions[7, 21] = 6;
            transitions[7, 22] = 6;
            transitions[7, 23] = 6;
            transitions[7, 24] = 6;
            transitions[7, 25] = 6;
            transitions[7, 26] = 6;
            transitions[7, 27] = 6;
            transitions[7, 28] = 6;
            transitions[7, 29] = 6;
            transitions[7, 30] = 6;
            transitions[7, 31] = 6;
            transitions[7, 32] = 6;
            transitions[7, 33] = 6;
            transitions[7, 34] = -1;
            transitions[8, 0] = -1;
            transitions[8, 1] = -1;
            transitions[8, 2] = -1;
            transitions[8, 3] = -1;
            transitions[8, 4] = -1;
            transitions[8, 5] = -1;
            transitions[8, 6] = -1;
            transitions[8, 7] = -1;
            transitions[8, 8] = -1;
            transitions[8, 9] = -1;
            transitions[8, 10] = -1;
            transitions[8, 11] = -1;
            transitions[8, 12] = -1;
            transitions[8, 13] = -1;
            transitions[8, 14] = -1;
            transitions[8, 15] = -1;
            transitions[8, 16] = -1;
            transitions[8, 17] = -1;
            transitions[8, 18] = -1;
            transitions[8, 19] = -1;
            transitions[8, 20] = -1;
            transitions[8, 21] = -1;
            transitions[8, 22] = -1;
            transitions[8, 23] = -1;
            transitions[8, 24] = -1;
            transitions[8, 25] = -1;
            transitions[8, 26] = -1;
            transitions[8, 27] = -1;
            transitions[8, 28] = -1;
            transitions[8, 29] = -1;
            transitions[8, 30] = -1;
            transitions[8, 31] = -1;
            transitions[8, 32] = -1;
            transitions[8, 33] = -1;
            transitions[8, 34] = -1;
            transitions[9, 0] = 9;
            transitions[9, 1] = 9;
            transitions[9, 2] = 9;
            transitions[9, 3] = 8;
            transitions[9, 4] = 9;
            transitions[9, 5] = 9;
            transitions[9, 6] = 9;
            transitions[9, 7] = 9;
            transitions[9, 8] = 9;
            transitions[9, 9] = 9;
            transitions[9, 10] = 9;
            transitions[9, 11] = 9;
            transitions[9, 12] = 9;
            transitions[9, 13] = 9;
            transitions[9, 14] = 9;
            transitions[9, 15] = 9;
            transitions[9, 16] = 9;
            transitions[9, 17] = 9;
            transitions[9, 18] = 9;
            transitions[9, 19] = 9;
            transitions[9, 20] = 9;
            transitions[9, 21] = 9;
            transitions[9, 22] = 9;
            transitions[9, 23] = 9;
            transitions[9, 24] = 9;
            transitions[9, 25] = 9;
            transitions[9, 26] = 9;
            transitions[9, 27] = 9;
            transitions[9, 28] = 10;
            transitions[9, 29] = 9;
            transitions[9, 30] = 9;
            transitions[9, 31] = 9;
            transitions[9, 32] = 9;
            transitions[9, 33] = 9;
            transitions[9, 34] = -1;
            transitions[10, 0] = 9;
            transitions[10, 1] = 9;
            transitions[10, 2] = 9;
            transitions[10, 3] = 9;
            transitions[10, 4] = 9;
            transitions[10, 5] = 9;
            transitions[10, 6] = 9;
            transitions[10, 7] = 9;
            transitions[10, 8] = 9;
            transitions[10, 9] = 9;
            transitions[10, 10] = 9;
            transitions[10, 11] = 9;
            transitions[10, 12] = 9;
            transitions[10, 13] = 9;
            transitions[10, 14] = 9;
            transitions[10, 15] = 9;
            transitions[10, 16] = 9;
            transitions[10, 17] = 9;
            transitions[10, 18] = 9;
            transitions[10, 19] = 9;
            transitions[10, 20] = 9;
            transitions[10, 21] = 9;
            transitions[10, 22] = 9;
            transitions[10, 23] = 9;
            transitions[10, 24] = 9;
            transitions[10, 25] = 9;
            transitions[10, 26] = 9;
            transitions[10, 27] = 9;
            transitions[10, 28] = 9;
            transitions[10, 29] = 9;
            transitions[10, 30] = 9;
            transitions[10, 31] = 9;
            transitions[10, 32] = 9;
            transitions[10, 33] = 9;
            transitions[10, 34] = -1;
            transitions[11, 0] = -1;
            transitions[11, 1] = -1;
            transitions[11, 2] = -1;
            transitions[11, 3] = 9;
            transitions[11, 4] = -1;
            transitions[11, 5] = -1;
            transitions[11, 6] = -1;
            transitions[11, 7] = 6;
            transitions[11, 8] = -1;
            transitions[11, 9] = -1;
            transitions[11, 10] = -1;
            transitions[11, 11] = -1;
            transitions[11, 12] = -1;
            transitions[11, 13] = -1;
            transitions[11, 14] = 3;
            transitions[11, 15] = 3;
            transitions[11, 16] = 3;
            transitions[11, 17] = 3;
            transitions[11, 18] = 3;
            transitions[11, 19] = 3;
            transitions[11, 20] = 3;
            transitions[11, 21] = -1;
            transitions[11, 22] = -1;
            transitions[11, 23] = -1;
            transitions[11, 24] = -1;
            transitions[11, 25] = 3;
            transitions[11, 26] = 3;
            transitions[11, 27] = 3;
            transitions[11, 28] = -1;
            transitions[11, 29] = -1;
            transitions[11, 30] = 3;
            transitions[11, 31] = 3;
            transitions[11, 32] = 3;
            transitions[11, 33] = -1;
            transitions[11, 34] = -1;
            transitions[12, 0] = -1;
            transitions[12, 1] = -1;
            transitions[12, 2] = -1;
            transitions[12, 3] = -1;
            transitions[12, 4] = -1;
            transitions[12, 5] = -1;
            transitions[12, 6] = -1;
            transitions[12, 7] = -1;
            transitions[12, 8] = -1;
            transitions[12, 9] = -1;
            transitions[12, 10] = -1;
            transitions[12, 11] = -1;
            transitions[12, 12] = 13;
            transitions[12, 13] = -1;
            transitions[12, 14] = 12;
            transitions[12, 15] = 12;
            transitions[12, 16] = 12;
            transitions[12, 17] = 12;
            transitions[12, 18] = 12;
            transitions[12, 19] = 12;
            transitions[12, 20] = 12;
            transitions[12, 21] = -1;
            transitions[12, 22] = -1;
            transitions[12, 23] = -1;
            transitions[12, 24] = -1;
            transitions[12, 25] = -1;
            transitions[12, 26] = -1;
            transitions[12, 27] = -1;
            transitions[12, 28] = -1;
            transitions[12, 29] = -1;
            transitions[12, 30] = -1;
            transitions[12, 31] = 15;
            transitions[12, 32] = 15;
            transitions[12, 33] = -1;
            transitions[12, 34] = -1;
            transitions[13, 0] = -1;
            transitions[13, 1] = -1;
            transitions[13, 2] = -1;
            transitions[13, 3] = -1;
            transitions[13, 4] = -1;
            transitions[13, 5] = -1;
            transitions[13, 6] = -1;
            transitions[13, 7] = -1;
            transitions[13, 8] = -1;
            transitions[13, 9] = -1;
            transitions[13, 10] = -1;
            transitions[13, 11] = -1;
            transitions[13, 12] = -1;
            transitions[13, 13] = -1;
            transitions[13, 14] = 13;
            transitions[13, 15] = 13;
            transitions[13, 16] = 13;
            transitions[13, 17] = 13;
            transitions[13, 18] = 13;
            transitions[13, 19] = 13;
            transitions[13, 20] = 13;
            transitions[13, 21] = -1;
            transitions[13, 22] = -1;
            transitions[13, 23] = -1;
            transitions[13, 24] = -1;
            transitions[13, 25] = -1;
            transitions[13, 26] = 14;
            transitions[13, 27] = -1;
            transitions[13, 28] = -1;
            transitions[13, 29] = -1;
            transitions[13, 30] = 14;
            transitions[13, 31] = -1;
            transitions[13, 32] = -1;
            transitions[13, 33] = -1;
            transitions[13, 34] = -1;
            transitions[14, 0] = -1;
            transitions[14, 1] = -1;
            transitions[14, 2] = -1;
            transitions[14, 3] = -1;
            transitions[14, 4] = -1;
            transitions[14, 5] = -1;
            transitions[14, 6] = -1;
            transitions[14, 7] = -1;
            transitions[14, 8] = -1;
            transitions[14, 9] = -1;
            transitions[14, 10] = -1;
            transitions[14, 11] = -1;
            transitions[14, 12] = -1;
            transitions[14, 13] = -1;
            transitions[14, 14] = -1;
            transitions[14, 15] = -1;
            transitions[14, 16] = -1;
            transitions[14, 17] = -1;
            transitions[14, 18] = -1;
            transitions[14, 19] = -1;
            transitions[14, 20] = -1;
            transitions[14, 21] = -1;
            transitions[14, 22] = -1;
            transitions[14, 23] = -1;
            transitions[14, 24] = -1;
            transitions[14, 25] = -1;
            transitions[14, 26] = -1;
            transitions[14, 27] = -1;
            transitions[14, 28] = -1;
            transitions[14, 29] = -1;
            transitions[14, 30] = -1;
            transitions[14, 31] = -1;
            transitions[14, 32] = -1;
            transitions[14, 33] = -1;
            transitions[14, 34] = -1;
            transitions[15, 0] = -1;
            transitions[15, 1] = -1;
            transitions[15, 2] = -1;
            transitions[15, 3] = -1;
            transitions[15, 4] = -1;
            transitions[15, 5] = -1;
            transitions[15, 6] = -1;
            transitions[15, 7] = -1;
            transitions[15, 8] = -1;
            transitions[15, 9] = -1;
            transitions[15, 10] = -1;
            transitions[15, 11] = -1;
            transitions[15, 12] = -1;
            transitions[15, 13] = -1;
            transitions[15, 14] = -1;
            transitions[15, 15] = 17;
            transitions[15, 16] = -1;
            transitions[15, 17] = 18;
            transitions[15, 18] = -1;
            transitions[15, 19] = 19;
            transitions[15, 20] = 16;
            transitions[15, 21] = -1;
            transitions[15, 22] = -1;
            transitions[15, 23] = -1;
            transitions[15, 24] = -1;
            transitions[15, 25] = -1;
            transitions[15, 26] = -1;
            transitions[15, 27] = -1;
            transitions[15, 28] = -1;
            transitions[15, 29] = -1;
            transitions[15, 30] = -1;
            transitions[15, 31] = -1;
            transitions[15, 32] = -1;
            transitions[15, 33] = -1;
            transitions[15, 34] = -1;
            transitions[16, 0] = -1;
            transitions[16, 1] = -1;
            transitions[16, 2] = -1;
            transitions[16, 3] = -1;
            transitions[16, 4] = -1;
            transitions[16, 5] = -1;
            transitions[16, 6] = -1;
            transitions[16, 7] = -1;
            transitions[16, 8] = -1;
            transitions[16, 9] = -1;
            transitions[16, 10] = -1;
            transitions[16, 11] = -1;
            transitions[16, 12] = -1;
            transitions[16, 13] = -1;
            transitions[16, 14] = -1;
            transitions[16, 15] = -1;
            transitions[16, 16] = -1;
            transitions[16, 17] = -1;
            transitions[16, 18] = -1;
            transitions[16, 19] = -1;
            transitions[16, 20] = -1;
            transitions[16, 21] = -1;
            transitions[16, 22] = -1;
            transitions[16, 23] = -1;
            transitions[16, 24] = -1;
            transitions[16, 25] = -1;
            transitions[16, 26] = -1;
            transitions[16, 27] = -1;
            transitions[16, 28] = -1;
            transitions[16, 29] = -1;
            transitions[16, 30] = -1;
            transitions[16, 31] = -1;
            transitions[16, 32] = -1;
            transitions[16, 33] = -1;
            transitions[16, 34] = -1;
            transitions[17, 0] = -1;
            transitions[17, 1] = -1;
            transitions[17, 2] = -1;
            transitions[17, 3] = -1;
            transitions[17, 4] = -1;
            transitions[17, 5] = -1;
            transitions[17, 6] = -1;
            transitions[17, 7] = -1;
            transitions[17, 8] = -1;
            transitions[17, 9] = -1;
            transitions[17, 10] = -1;
            transitions[17, 11] = -1;
            transitions[17, 12] = -1;
            transitions[17, 13] = -1;
            transitions[17, 14] = -1;
            transitions[17, 15] = -1;
            transitions[17, 16] = -1;
            transitions[17, 17] = -1;
            transitions[17, 18] = -1;
            transitions[17, 19] = 16;
            transitions[17, 20] = -1;
            transitions[17, 21] = -1;
            transitions[17, 22] = -1;
            transitions[17, 23] = -1;
            transitions[17, 24] = -1;
            transitions[17, 25] = -1;
            transitions[17, 26] = -1;
            transitions[17, 27] = -1;
            transitions[17, 28] = -1;
            transitions[17, 29] = -1;
            transitions[17, 30] = -1;
            transitions[17, 31] = -1;
            transitions[17, 32] = -1;
            transitions[17, 33] = -1;
            transitions[17, 34] = -1;
            transitions[18, 0] = -1;
            transitions[18, 1] = -1;
            transitions[18, 2] = -1;
            transitions[18, 3] = -1;
            transitions[18, 4] = -1;
            transitions[18, 5] = -1;
            transitions[18, 6] = -1;
            transitions[18, 7] = -1;
            transitions[18, 8] = -1;
            transitions[18, 9] = -1;
            transitions[18, 10] = -1;
            transitions[18, 11] = -1;
            transitions[18, 12] = -1;
            transitions[18, 13] = -1;
            transitions[18, 14] = -1;
            transitions[18, 15] = -1;
            transitions[18, 16] = 16;
            transitions[18, 17] = -1;
            transitions[18, 18] = -1;
            transitions[18, 19] = -1;
            transitions[18, 20] = -1;
            transitions[18, 21] = -1;
            transitions[18, 22] = -1;
            transitions[18, 23] = -1;
            transitions[18, 24] = -1;
            transitions[18, 25] = -1;
            transitions[18, 26] = -1;
            transitions[18, 27] = -1;
            transitions[18, 28] = -1;
            transitions[18, 29] = -1;
            transitions[18, 30] = -1;
            transitions[18, 31] = -1;
            transitions[18, 32] = -1;
            transitions[18, 33] = -1;
            transitions[18, 34] = -1;
            transitions[19, 0] = -1;
            transitions[19, 1] = -1;
            transitions[19, 2] = -1;
            transitions[19, 3] = -1;
            transitions[19, 4] = -1;
            transitions[19, 5] = -1;
            transitions[19, 6] = -1;
            transitions[19, 7] = -1;
            transitions[19, 8] = -1;
            transitions[19, 9] = -1;
            transitions[19, 10] = -1;
            transitions[19, 11] = -1;
            transitions[19, 12] = -1;
            transitions[19, 13] = -1;
            transitions[19, 14] = -1;
            transitions[19, 15] = -1;
            transitions[19, 16] = -1;
            transitions[19, 17] = -1;
            transitions[19, 18] = 16;
            transitions[19, 19] = -1;
            transitions[19, 20] = -1;
            transitions[19, 21] = -1;
            transitions[19, 22] = -1;
            transitions[19, 23] = -1;
            transitions[19, 24] = -1;
            transitions[19, 25] = -1;
            transitions[19, 26] = -1;
            transitions[19, 27] = -1;
            transitions[19, 28] = -1;
            transitions[19, 29] = -1;
            transitions[19, 30] = -1;
            transitions[19, 31] = -1;
            transitions[19, 32] = -1;
            transitions[19, 33] = -1;
            transitions[19, 34] = -1;
            transitions[20, 0] = 20;
            transitions[20, 1] = 20;
            transitions[20, 2] = 20;
            transitions[20, 3] = 20;
            transitions[20, 4] = 20;
            transitions[20, 5] = 20;
            transitions[20, 6] = 20;
            transitions[20, 7] = 20;
            transitions[20, 8] = 20;
            transitions[20, 9] = 23;
            transitions[20, 10] = 20;
            transitions[20, 11] = 20;
            transitions[20, 12] = 20;
            transitions[20, 13] = 20;
            transitions[20, 14] = 20;
            transitions[20, 15] = 20;
            transitions[20, 16] = 20;
            transitions[20, 17] = 20;
            transitions[20, 18] = 20;
            transitions[20, 19] = 20;
            transitions[20, 20] = 20;
            transitions[20, 21] = 20;
            transitions[20, 22] = 20;
            transitions[20, 23] = 20;
            transitions[20, 24] = 20;
            transitions[20, 25] = 20;
            transitions[20, 26] = 20;
            transitions[20, 27] = 20;
            transitions[20, 28] = 20;
            transitions[20, 29] = 20;
            transitions[20, 30] = 20;
            transitions[20, 31] = 20;
            transitions[20, 32] = 20;
            transitions[20, 33] = 20;
            transitions[20, 34] = -1;
            transitions[21, 0] = -1;
            transitions[21, 1] = -1;
            transitions[21, 2] = -1;
            transitions[21, 3] = -1;
            transitions[21, 4] = -1;
            transitions[21, 5] = -1;
            transitions[21, 6] = -1;
            transitions[21, 7] = -1;
            transitions[21, 8] = -1;
            transitions[21, 9] = 20;
            transitions[21, 10] = -1;
            transitions[21, 11] = -1;
            transitions[21, 12] = -1;
            transitions[21, 13] = 22;
            transitions[21, 14] = -1;
            transitions[21, 15] = -1;
            transitions[21, 16] = -1;
            transitions[21, 17] = -1;
            transitions[21, 18] = -1;
            transitions[21, 19] = -1;
            transitions[21, 20] = -1;
            transitions[21, 21] = -1;
            transitions[21, 22] = 28;
            transitions[21, 23] = -1;
            transitions[21, 24] = -1;
            transitions[21, 25] = -1;
            transitions[21, 26] = -1;
            transitions[21, 27] = -1;
            transitions[21, 28] = -1;
            transitions[21, 29] = -1;
            transitions[21, 30] = -1;
            transitions[21, 31] = -1;
            transitions[21, 32] = -1;
            transitions[21, 33] = -1;
            transitions[21, 34] = -1;
            transitions[22, 0] = 22;
            transitions[22, 1] = -1;
            transitions[22, 2] = 22;
            transitions[22, 3] = 22;
            transitions[22, 4] = 22;
            transitions[22, 5] = 22;
            transitions[22, 6] = 22;
            transitions[22, 7] = 22;
            transitions[22, 8] = 22;
            transitions[22, 9] = 22;
            transitions[22, 10] = 22;
            transitions[22, 11] = 22;
            transitions[22, 12] = 22;
            transitions[22, 13] = 22;
            transitions[22, 14] = 22;
            transitions[22, 15] = 22;
            transitions[22, 16] = 22;
            transitions[22, 17] = 22;
            transitions[22, 18] = 22;
            transitions[22, 19] = 22;
            transitions[22, 20] = 22;
            transitions[22, 21] = 22;
            transitions[22, 22] = 22;
            transitions[22, 23] = 22;
            transitions[22, 24] = 22;
            transitions[22, 25] = 22;
            transitions[22, 26] = 22;
            transitions[22, 27] = 22;
            transitions[22, 28] = 22;
            transitions[22, 29] = 22;
            transitions[22, 30] = 22;
            transitions[22, 31] = 22;
            transitions[22, 32] = 22;
            transitions[22, 33] = 22;
            transitions[22, 34] = -1;
            transitions[23, 0] = 20;
            transitions[23, 1] = 20;
            transitions[23, 2] = 20;
            transitions[23, 3] = 20;
            transitions[23, 4] = 20;
            transitions[23, 5] = 20;
            transitions[23, 6] = 20;
            transitions[23, 7] = 20;
            transitions[23, 8] = 20;
            transitions[23, 9] = 23;
            transitions[23, 10] = 20;
            transitions[23, 11] = 20;
            transitions[23, 12] = 20;
            transitions[23, 13] = 24;
            transitions[23, 14] = 20;
            transitions[23, 15] = 20;
            transitions[23, 16] = 20;
            transitions[23, 17] = 20;
            transitions[23, 18] = 20;
            transitions[23, 19] = 20;
            transitions[23, 20] = 20;
            transitions[23, 21] = 20;
            transitions[23, 22] = 20;
            transitions[23, 23] = 20;
            transitions[23, 24] = 20;
            transitions[23, 25] = 20;
            transitions[23, 26] = 20;
            transitions[23, 27] = 20;
            transitions[23, 28] = 20;
            transitions[23, 29] = 20;
            transitions[23, 30] = 20;
            transitions[23, 31] = 20;
            transitions[23, 32] = 20;
            transitions[23, 33] = 20;
            transitions[23, 34] = -1;
            transitions[24, 0] = -1;
            transitions[24, 1] = -1;
            transitions[24, 2] = -1;
            transitions[24, 3] = -1;
            transitions[24, 4] = -1;
            transitions[24, 5] = -1;
            transitions[24, 6] = -1;
            transitions[24, 7] = -1;
            transitions[24, 8] = -1;
            transitions[24, 9] = -1;
            transitions[24, 10] = -1;
            transitions[24, 11] = -1;
            transitions[24, 12] = -1;
            transitions[24, 13] = -1;
            transitions[24, 14] = -1;
            transitions[24, 15] = -1;
            transitions[24, 16] = -1;
            transitions[24, 17] = -1;
            transitions[24, 18] = -1;
            transitions[24, 19] = -1;
            transitions[24, 20] = -1;
            transitions[24, 21] = -1;
            transitions[24, 22] = -1;
            transitions[24, 23] = -1;
            transitions[24, 24] = -1;
            transitions[24, 25] = -1;
            transitions[24, 26] = -1;
            transitions[24, 27] = -1;
            transitions[24, 28] = -1;
            transitions[24, 29] = -1;
            transitions[24, 30] = -1;
            transitions[24, 31] = -1;
            transitions[24, 32] = -1;
            transitions[24, 33] = -1;
            transitions[24, 34] = -1;
            transitions[25, 0] = -1;
            transitions[25, 1] = -1;
            transitions[25, 2] = -1;
            transitions[25, 3] = -1;
            transitions[25, 4] = -1;
            transitions[25, 5] = -1;
            transitions[25, 6] = -1;
            transitions[25, 7] = -1;
            transitions[25, 8] = -1;
            transitions[25, 9] = -1;
            transitions[25, 10] = -1;
            transitions[25, 11] = -1;
            transitions[25, 12] = -1;
            transitions[25, 13] = -1;
            transitions[25, 14] = -1;
            transitions[25, 15] = -1;
            transitions[25, 16] = -1;
            transitions[25, 17] = -1;
            transitions[25, 18] = -1;
            transitions[25, 19] = -1;
            transitions[25, 20] = -1;
            transitions[25, 21] = -1;
            transitions[25, 22] = -1;
            transitions[25, 23] = -1;
            transitions[25, 24] = -1;
            transitions[25, 25] = -1;
            transitions[25, 26] = -1;
            transitions[25, 27] = -1;
            transitions[25, 28] = -1;
            transitions[25, 29] = -1;
            transitions[25, 30] = -1;
            transitions[25, 31] = -1;
            transitions[25, 32] = -1;
            transitions[25, 33] = -1;
            transitions[25, 34] = -1;
            transitions[26, 0] = -1;
            transitions[26, 1] = -1;
            transitions[26, 2] = -1;
            transitions[26, 3] = -1;
            transitions[26, 4] = -1;
            transitions[26, 5] = -1;
            transitions[26, 6] = -1;
            transitions[26, 7] = -1;
            transitions[26, 8] = -1;
            transitions[26, 9] = -1;
            transitions[26, 10] = -1;
            transitions[26, 11] = 28;
            transitions[26, 12] = -1;
            transitions[26, 13] = -1;
            transitions[26, 14] = -1;
            transitions[26, 15] = -1;
            transitions[26, 16] = -1;
            transitions[26, 17] = -1;
            transitions[26, 18] = -1;
            transitions[26, 19] = -1;
            transitions[26, 20] = -1;
            transitions[26, 21] = -1;
            transitions[26, 22] = 28;
            transitions[26, 23] = 28;
            transitions[26, 24] = -1;
            transitions[26, 25] = -1;
            transitions[26, 26] = -1;
            transitions[26, 27] = -1;
            transitions[26, 28] = -1;
            transitions[26, 29] = -1;
            transitions[26, 30] = -1;
            transitions[26, 31] = -1;
            transitions[26, 32] = -1;
            transitions[26, 33] = -1;
            transitions[26, 34] = -1;
            transitions[27, 0] = -1;
            transitions[27, 1] = -1;
            transitions[27, 2] = -1;
            transitions[27, 3] = -1;
            transitions[27, 4] = -1;
            transitions[27, 5] = -1;
            transitions[27, 6] = -1;
            transitions[27, 7] = -1;
            transitions[27, 8] = -1;
            transitions[27, 9] = -1;
            transitions[27, 10] = 28;
            transitions[27, 11] = -1;
            transitions[27, 12] = -1;
            transitions[27, 13] = -1;
            transitions[27, 14] = -1;
            transitions[27, 15] = -1;
            transitions[27, 16] = -1;
            transitions[27, 17] = -1;
            transitions[27, 18] = -1;
            transitions[27, 19] = -1;
            transitions[27, 20] = -1;
            transitions[27, 21] = -1;
            transitions[27, 22] = 28;
            transitions[27, 23] = -1;
            transitions[27, 24] = -1;
            transitions[27, 25] = -1;
            transitions[27, 26] = -1;
            transitions[27, 27] = -1;
            transitions[27, 28] = -1;
            transitions[27, 29] = -1;
            transitions[27, 30] = -1;
            transitions[27, 31] = -1;
            transitions[27, 32] = -1;
            transitions[27, 33] = -1;
            transitions[27, 34] = -1;
            transitions[28, 0] = -1;
            transitions[28, 1] = -1;
            transitions[28, 2] = -1;
            transitions[28, 3] = -1;
            transitions[28, 4] = -1;
            transitions[28, 5] = -1;
            transitions[28, 6] = -1;
            transitions[28, 7] = -1;
            transitions[28, 8] = -1;
            transitions[28, 9] = -1;
            transitions[28, 10] = -1;
            transitions[28, 11] = -1;
            transitions[28, 12] = -1;
            transitions[28, 13] = -1;
            transitions[28, 14] = -1;
            transitions[28, 15] = -1;
            transitions[28, 16] = -1;
            transitions[28, 17] = -1;
            transitions[28, 18] = -1;
            transitions[28, 19] = -1;
            transitions[28, 20] = -1;
            transitions[28, 21] = -1;
            transitions[28, 22] = -1;
            transitions[28, 23] = -1;
            transitions[28, 24] = -1;
            transitions[28, 25] = -1;
            transitions[28, 26] = -1;
            transitions[28, 27] = -1;
            transitions[28, 28] = -1;
            transitions[28, 29] = -1;
            transitions[28, 30] = -1;
            transitions[28, 31] = -1;
            transitions[28, 32] = -1;
            transitions[28, 33] = -1;
            transitions[28, 34] = -1;
            transitions[29, 0] = -1;
            transitions[29, 1] = -1;
            transitions[29, 2] = -1;
            transitions[29, 3] = -1;
            transitions[29, 4] = -1;
            transitions[29, 5] = -1;
            transitions[29, 6] = -1;
            transitions[29, 7] = -1;
            transitions[29, 8] = -1;
            transitions[29, 9] = -1;
            transitions[29, 10] = -1;
            transitions[29, 11] = -1;
            transitions[29, 12] = -1;
            transitions[29, 13] = -1;
            transitions[29, 14] = -1;
            transitions[29, 15] = -1;
            transitions[29, 16] = -1;
            transitions[29, 17] = -1;
            transitions[29, 18] = -1;
            transitions[29, 19] = -1;
            transitions[29, 20] = -1;
            transitions[29, 21] = -1;
            transitions[29, 22] = 28;
            transitions[29, 23] = -1;
            transitions[29, 24] = -1;
            transitions[29, 25] = -1;
            transitions[29, 26] = -1;
            transitions[29, 27] = -1;
            transitions[29, 28] = -1;
            transitions[29, 29] = -1;
            transitions[29, 30] = -1;
            transitions[29, 31] = -1;
            transitions[29, 32] = -1;
            transitions[29, 33] = -1;
            transitions[29, 34] = -1;
            transitions[30, 0] = -1;
            transitions[30, 1] = -1;
            transitions[30, 2] = -1;
            transitions[30, 3] = -1;
            transitions[30, 4] = -1;
            transitions[30, 5] = -1;
            transitions[30, 6] = -1;
            transitions[30, 7] = -1;
            transitions[30, 8] = -1;
            transitions[30, 9] = -1;
            transitions[30, 10] = -1;
            transitions[30, 11] = -1;
            transitions[30, 12] = -1;
            transitions[30, 13] = -1;
            transitions[30, 14] = -1;
            transitions[30, 15] = -1;
            transitions[30, 16] = -1;
            transitions[30, 17] = -1;
            transitions[30, 18] = -1;
            transitions[30, 19] = -1;
            transitions[30, 20] = -1;
            transitions[30, 21] = -1;
            transitions[30, 22] = 28;
            transitions[30, 23] = -1;
            transitions[30, 24] = -1;
            transitions[30, 25] = -1;
            transitions[30, 26] = -1;
            transitions[30, 27] = -1;
            transitions[30, 28] = -1;
            transitions[30, 29] = -1;
            transitions[30, 30] = -1;
            transitions[30, 31] = -1;
            transitions[30, 32] = -1;
            transitions[30, 33] = -1;
            transitions[30, 34] = -1;
            transitions[31, 0] = -1;
            transitions[31, 1] = -1;
            transitions[31, 2] = -1;
            transitions[31, 3] = -1;
            transitions[31, 4] = -1;
            transitions[31, 5] = -1;
            transitions[31, 6] = -1;
            transitions[31, 7] = -1;
            transitions[31, 8] = -1;
            transitions[31, 9] = -1;
            transitions[31, 10] = -1;
            transitions[31, 11] = -1;
            transitions[31, 12] = -1;
            transitions[31, 13] = -1;
            transitions[31, 14] = -1;
            transitions[31, 15] = -1;
            transitions[31, 16] = -1;
            transitions[31, 17] = -1;
            transitions[31, 18] = -1;
            transitions[31, 19] = -1;
            transitions[31, 20] = -1;
            transitions[31, 21] = -1;
            transitions[31, 22] = 28;
            transitions[31, 23] = -1;
            transitions[31, 24] = -1;
            transitions[31, 25] = -1;
            transitions[31, 26] = -1;
            transitions[31, 27] = -1;
            transitions[31, 28] = -1;
            transitions[31, 29] = -1;
            transitions[31, 30] = -1;
            transitions[31, 31] = -1;
            transitions[31, 32] = -1;
            transitions[31, 33] = -1;
            transitions[31, 34] = -1;
            transitions[32, 0] = -1;
            transitions[32, 1] = -1;
            transitions[32, 2] = -1;
            transitions[32, 3] = -1;
            transitions[32, 4] = -1;
            transitions[32, 5] = -1;
            transitions[32, 6] = -1;
            transitions[32, 7] = -1;
            transitions[32, 8] = -1;
            transitions[32, 9] = -1;
            transitions[32, 10] = -1;
            transitions[32, 11] = -1;
            transitions[32, 12] = -1;
            transitions[32, 13] = -1;
            transitions[32, 14] = -1;
            transitions[32, 15] = -1;
            transitions[32, 16] = -1;
            transitions[32, 17] = -1;
            transitions[32, 18] = -1;
            transitions[32, 19] = -1;
            transitions[32, 20] = -1;
            transitions[32, 21] = -1;
            transitions[32, 22] = 28;
            transitions[32, 23] = -1;
            transitions[32, 24] = -1;
            transitions[32, 25] = -1;
            transitions[32, 26] = -1;
            transitions[32, 27] = -1;
            transitions[32, 28] = -1;
            transitions[32, 29] = -1;
            transitions[32, 30] = -1;
            transitions[32, 31] = -1;
            transitions[32, 32] = -1;
            transitions[32, 33] = -1;
            transitions[32, 34] = -1;
            transitions[33, 0] = -1;
            transitions[33, 1] = -1;
            transitions[33, 2] = -1;
            transitions[33, 3] = -1;
            transitions[33, 4] = -1;
            transitions[33, 5] = -1;
            transitions[33, 6] = -1;
            transitions[33, 7] = -1;
            transitions[33, 8] = -1;
            transitions[33, 9] = -1;
            transitions[33, 10] = -1;
            transitions[33, 11] = -1;
            transitions[33, 12] = -1;
            transitions[33, 13] = -1;
            transitions[33, 14] = -1;
            transitions[33, 15] = -1;
            transitions[33, 16] = -1;
            transitions[33, 17] = -1;
            transitions[33, 18] = -1;
            transitions[33, 19] = -1;
            transitions[33, 20] = -1;
            transitions[33, 21] = -1;
            transitions[33, 22] = 28;
            transitions[33, 23] = -1;
            transitions[33, 24] = -1;
            transitions[33, 25] = -1;
            transitions[33, 26] = -1;
            transitions[33, 27] = -1;
            transitions[33, 28] = -1;
            transitions[33, 29] = -1;
            transitions[33, 30] = -1;
            transitions[33, 31] = -1;
            transitions[33, 32] = -1;
            transitions[33, 33] = -1;
            transitions[33, 34] = -1;
            transitions[34, 0] = -1;
            transitions[34, 1] = -1;
            transitions[34, 2] = -1;
            transitions[34, 3] = -1;
            transitions[34, 4] = -1;
            transitions[34, 5] = -1;
            transitions[34, 6] = -1;
            transitions[34, 7] = -1;
            transitions[34, 8] = -1;
            transitions[34, 9] = -1;
            transitions[34, 10] = -1;
            transitions[34, 11] = -1;
            transitions[34, 12] = -1;
            transitions[34, 13] = -1;
            transitions[34, 14] = -1;
            transitions[34, 15] = -1;
            transitions[34, 16] = -1;
            transitions[34, 17] = -1;
            transitions[34, 18] = -1;
            transitions[34, 19] = -1;
            transitions[34, 20] = -1;
            transitions[34, 21] = -1;
            transitions[34, 22] = 28;
            transitions[34, 23] = -1;
            transitions[34, 24] = -1;
            transitions[34, 25] = -1;
            transitions[34, 26] = -1;
            transitions[34, 27] = -1;
            transitions[34, 28] = -1;
            transitions[34, 29] = -1;
            transitions[34, 30] = -1;
            transitions[34, 31] = -1;
            transitions[34, 32] = -1;
            transitions[34, 33] = -1;
            transitions[34, 34] = -1;
            transitions[35, 0] = -1;
            transitions[35, 1] = -1;
            transitions[35, 2] = -1;
            transitions[35, 3] = -1;
            transitions[35, 4] = -1;
            transitions[35, 5] = -1;
            transitions[35, 6] = 36;
            transitions[35, 7] = -1;
            transitions[35, 8] = -1;
            transitions[35, 9] = -1;
            transitions[35, 10] = -1;
            transitions[35, 11] = -1;
            transitions[35, 12] = -1;
            transitions[35, 13] = -1;
            transitions[35, 14] = -1;
            transitions[35, 15] = -1;
            transitions[35, 16] = -1;
            transitions[35, 17] = -1;
            transitions[35, 18] = -1;
            transitions[35, 19] = -1;
            transitions[35, 20] = -1;
            transitions[35, 21] = -1;
            transitions[35, 22] = 28;
            transitions[35, 23] = -1;
            transitions[35, 24] = -1;
            transitions[35, 25] = -1;
            transitions[35, 26] = -1;
            transitions[35, 27] = -1;
            transitions[35, 28] = -1;
            transitions[35, 29] = -1;
            transitions[35, 30] = -1;
            transitions[35, 31] = -1;
            transitions[35, 32] = -1;
            transitions[35, 33] = -1;
            transitions[35, 34] = -1;
            transitions[36, 0] = -1;
            transitions[36, 1] = -1;
            transitions[36, 2] = -1;
            transitions[36, 3] = -1;
            transitions[36, 4] = -1;
            transitions[36, 5] = -1;
            transitions[36, 6] = -1;
            transitions[36, 7] = -1;
            transitions[36, 8] = -1;
            transitions[36, 9] = -1;
            transitions[36, 10] = -1;
            transitions[36, 11] = -1;
            transitions[36, 12] = -1;
            transitions[36, 13] = -1;
            transitions[36, 14] = -1;
            transitions[36, 15] = -1;
            transitions[36, 16] = -1;
            transitions[36, 17] = -1;
            transitions[36, 18] = -1;
            transitions[36, 19] = -1;
            transitions[36, 20] = -1;
            transitions[36, 21] = -1;
            transitions[36, 22] = 28;
            transitions[36, 23] = -1;
            transitions[36, 24] = -1;
            transitions[36, 25] = -1;
            transitions[36, 26] = -1;
            transitions[36, 27] = -1;
            transitions[36, 28] = -1;
            transitions[36, 29] = -1;
            transitions[36, 30] = -1;
            transitions[36, 31] = -1;
            transitions[36, 32] = -1;
            transitions[36, 33] = -1;
            transitions[36, 34] = -1;
            transitions[37, 0] = -1;
            transitions[37, 1] = -1;
            transitions[37, 2] = -1;
            transitions[37, 3] = -1;
            transitions[37, 4] = -1;
            transitions[37, 5] = -1;
            transitions[37, 6] = -1;
            transitions[37, 7] = -1;
            transitions[37, 8] = -1;
            transitions[37, 9] = -1;
            transitions[37, 10] = -1;
            transitions[37, 11] = -1;
            transitions[37, 12] = -1;
            transitions[37, 13] = -1;
            transitions[37, 14] = -1;
            transitions[37, 15] = -1;
            transitions[37, 16] = -1;
            transitions[37, 17] = -1;
            transitions[37, 18] = -1;
            transitions[37, 19] = -1;
            transitions[37, 20] = -1;
            transitions[37, 21] = -1;
            transitions[37, 22] = 28;
            transitions[37, 23] = -1;
            transitions[37, 24] = -1;
            transitions[37, 25] = -1;
            transitions[37, 26] = -1;
            transitions[37, 27] = -1;
            transitions[37, 28] = -1;
            transitions[37, 29] = -1;
            transitions[37, 30] = -1;
            transitions[37, 31] = -1;
            transitions[37, 32] = -1;
            transitions[37, 33] = 36;
            transitions[37, 34] = -1;
            transitions[38, 0] = -1;
            transitions[38, 1] = -1;
            transitions[38, 2] = -1;
            transitions[38, 3] = -1;
            transitions[38, 4] = -1;
            transitions[38, 5] = -1;
            transitions[38, 6] = -1;
            transitions[38, 7] = -1;
            transitions[38, 8] = -1;
            transitions[38, 9] = -1;
            transitions[38, 10] = -1;
            transitions[38, 11] = -1;
            transitions[38, 12] = -1;
            transitions[38, 13] = -1;
            transitions[38, 14] = -1;
            transitions[38, 15] = -1;
            transitions[38, 16] = -1;
            transitions[38, 17] = -1;
            transitions[38, 18] = -1;
            transitions[38, 19] = -1;
            transitions[38, 20] = -1;
            transitions[38, 21] = -1;
            transitions[38, 22] = 28;
            transitions[38, 23] = -1;
            transitions[38, 24] = -1;
            transitions[38, 25] = -1;
            transitions[38, 26] = -1;
            transitions[38, 27] = -1;
            transitions[38, 28] = -1;
            transitions[38, 29] = -1;
            transitions[38, 30] = -1;
            transitions[38, 31] = -1;
            transitions[38, 32] = -1;
            transitions[38, 33] = -1;
            transitions[38, 34] = -1;
            transitions[39, 0] = -1;
            transitions[39, 1] = -1;
            transitions[39, 2] = -1;
            transitions[39, 3] = -1;
            transitions[39, 4] = -1;
            transitions[39, 5] = -1;
            transitions[39, 6] = -1;
            transitions[39, 7] = -1;
            transitions[39, 8] = -1;
            transitions[39, 9] = -1;
            transitions[39, 10] = -1;
            transitions[39, 11] = -1;
            transitions[39, 12] = -1;
            transitions[39, 13] = -1;
            transitions[39, 14] = 39;
            transitions[39, 15] = 39;
            transitions[39, 16] = 39;
            transitions[39, 17] = 39;
            transitions[39, 18] = 39;
            transitions[39, 19] = 39;
            transitions[39, 20] = 39;
            transitions[39, 21] = -1;
            transitions[39, 22] = -1;
            transitions[39, 23] = -1;
            transitions[39, 24] = -1;
            transitions[39, 25] = 39;
            transitions[39, 26] = 39;
            transitions[39, 27] = 39;
            transitions[39, 28] = -1;
            transitions[39, 29] = -1;
            transitions[39, 30] = 39;
            transitions[39, 31] = 39;
            transitions[39, 32] = 39;
            transitions[39, 33] = -1;
            transitions[39, 34] = -1;
        }
    }
}
